package com.cj.sys.dao.security;

import java.util.Date;

import org.springframework.stereotype.Repository;

import com.cj.common.orm.hibernate.HibernateDao;
import com.cj.sys.entity.security.Dept;
import com.cj.sys.service.ServiceException;

@Repository
public class DeptDao extends HibernateDao<Dept, Long> {
	@Override
	public void save(Dept entity) {
		if(entity.getId()!= null && entity.getId().equals(entity.getParent().getId()))
			throw new ServiceException("上级部门不是为本部门！");
		if(entity.getParent() != null){
			entity.setFullName(this.load(entity.getParent().getId()).getFullName() + "/" + entity.getName());
		}else
			entity.setFullName(entity.getName());
		if(entity.getId() == null)
			entity.setCreateTime(new Date());
		super.save(entity);
	}
}
